デフォルトのロールを使用しているのに、AWS BackupでEC2インスタンスをリストアする際に権限不足で失敗する原因を教えてください
困っていた内容
AWS Backupにおいて、EC2インスタンスをリストアしたいのですが権限不足と表示されジョブに失敗します。
バックアップを実行するロールはデフォルトのロールAWSDefaultServiceRoleforBackupを使用している為権限に問題無いように見えますが、エラーになる原因を教えてください。
You are not authorized to perform this operation. Please consult the permissions associated with your AWS Backup role(s), and refer to the AWS Backup documentation for more details. Encoded authorization failure message: xxxxxxxxxxxxxxxxxx~
どう対応すればいいの?
AWS Backupを用いてEC2インスタンスをリストアする際に、リストア元EC2インスタンスのIAMインスタンスプロファイル設定を保持したい場合、バックアップを実行するロールにiam:PassRole権限が必要です。
Amazon EC2 インスタンスを復元する - AWS Backup
復元中にインスタンスプロファイルを適用する場合は、オペレータロールを更新し、基盤となるインスタンスプロファイルロールの PassRole アクセス権限を Amazon EC2 に追加する必要があります。
そうしないと、Amazon EC2 はインスタンスの作成を承認できず、失敗します。
一方で、デフォルトのロールAWSDefaultServiceRoleforBackupにはiam:PassRole権限が付与されていません。
なのでバックアップを実行するロールにAWSDefaultServiceRoleforBackupを指定している場合でも、 IAMインスタンスプロファイル情報を保持して復元したい場合は、下記を参考にiam:PassRole権限を追加で付与してください。
{ "Version": "2012-10-17", "Statement": [ { "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/*", "Effect": "Allow" } ] }
なお、リストア元となるEC2インスタンスにそもそもIAMインスタンスプロファイル設定が無い場合、またはリストア時にIAMインスタンスプロファイル設定を保持しない場合は、iam:PassRole権限は不要です。
参考資料
AWS Backup を使用して Amazon EC2 インスタンスを復元するときに表示されるエンコードされた認可エラーメッセージのトラブルシューティング | AWS re:Post